package cn.bugstack.springframework.beans.factory.support;

import cn.bugstack.springframework.beans.BeansException;
import cn.bugstack.springframework.core.io.Resource;
import cn.bugstack.springframework.core.io.ResourceLoader;

public interface BeanDefinitionReader {
    /*
    要注意 getRegistry()、getResourceLoader()，都是用于提供给后面三个方法
    的工具，加载和注册，这两个方法的实现会包装到抽象类中，以免污染具体的接口实现方法。
     */

    BeanDefinitionRegistry getRegistry();

    ResourceLoader getResourceLoader();

    void loadBeanDefinitions(Resource resource) throws BeansException;

    void loadBeanDefinitions(Resource... resource) throws BeansException;

    void loadBeanDefinitions(String location) throws BeansException;
}
